/*
 * autor: joaquin guzman jimenez
 * fecha: 18 de marzo del 2012
 * comentario: clase listInsuenbasico, contiene los registros de los insumos
 * que pertenecen a cada análisis de precio basico de las lista de basicos.
 * oferta económicas.
 */
package jgj_tm.basicos;
//importaciones
import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
public class listInsuenbas {
    //atributos
    private ArrayList<insuenbas> Insuenbas;
    private File fileInsuenbas;
    //constructor
    public listInsuenbas(String path){
        if(path.isEmpty() || path==null) path="";
        fileInsuenbas=new File(path+"insuenbas.dat");
    }//constructor listInsuenbas
    //iterador para manejar los elementos de la lista
    public Iterator iterador(){
        return Insuenbas.iterator();
    }//iterador
    //borrar un insumo de la lista
    public insuenbas borrar(int index){
        return Insuenbas.remove(index);
    }//borrar
    public boolean borrar(insuenbas bas){
        return Insuenbas.remove(bas);
    }//borrar
    //insertar un basico en la lista
    public void insertar(int index, insuenbas bas){
            Insuenbas.add(index, bas);
    }//insertar
    //agregar un basico a la lista
    public boolean agragar(insuenbas bas){
           return Insuenbas.add(bas);
    }//agragar
    //editar un basico de la lista
    public boolean cambiar(int index, insuenbas bas){
        boolean valRet=false;
        if(existe(bas)!=-1){
            Insuenbas.set(index, bas);
            valRet=true;
        }//if
        return valRet;
    }//editar
    //vaciar la lista de basicos
    public void vaciar(){
        Insuenbas.clear();
    }//vaciar
    //copiar la lista de basicos
    public ArrayList<insuenbas> copiar(){
        return (ArrayList<insuenbas>)Insuenbas.clone();
    }//copiar
    //localizar un basico en la lista, devuel -1 si no existe
    public int existe(insuenbas ins){
        int valRet=-1;
        if(Insuenbas.contains(ins)){
            valRet=Insuenbas.indexOf(ins);
        }//if
        return valRet;
    }//buscar
    //leer un insumos de la lista
    public insuenbas leer(int index){
        return Insuenbas.get(index);
    }//leer
    //permite grabar los datos en disco
    public void grabar() throws IOException{
        FileOutputStream fos=new FileOutputStream(fileInsuenbas);
        ObjectOutputStream oos=new ObjectOutputStream(fos);
        oos.writeObject(Insuenbas);
        oos.close();
    }//grabar
    //cargar la lista de los basicos en memorias
    public void cargar() throws IOException, ClassNotFoundException{
        if(fileInsuenbas.exists()){
            FileInputStream fis=new FileInputStream(fileInsuenbas);
            ObjectInputStream ois=new ObjectInputStream(fis);
            Insuenbas=(ArrayList<insuenbas>)ois.readObject();
        }//if
    }//cargar
}//listInsuenbas
